package com.mao.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mao.dto.DishDto;
import com.mao.dto.SetmealDto;
import com.mao.entity.Setmeal;

import java.util.List;

public interface SetmealService extends IService<Setmeal> {
    List<SetmealDto> get_list(Setmeal setmeal);

    Page<SetmealDto> page(int page, int pageSize, String name);

    /**
     * 新增套餐
     * @param setmealDto
     */
    void saveWithDish(SetmealDto setmealDto);

    /**
     * 删除套餐，需要同时删除与套餐关联的菜品数据
     */
    void removeWithDish(List<Long> ids);

    /**
     * 查询单个套餐及其关联菜品
     * @return
     */
    SetmealDto getWithDish(Long id);


    /**
     * 更新套餐及关联菜品
     * @param setmealDto
     */
    void updateWithDish(SetmealDto setmealDto);

    /**
     * 批量或者单个停售，起售
     */
    void status(Integer status, List<Long> ids);

    /**
     * 展示套餐的具体菜品
     * @param id
     * @return
     */
    List<DishDto> getWithDishDto(Long id);
}
